package ec.edu.ucacue.siop.modelo.operacion.ejecucion;

import java.util.Calendar;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="operacion")
public class Operacion {
	private long id;
	private Calendar fechaInicio;
	private Calendar fechaFin;
	private List<InsumoUtilizado> listaInsumo;
	private List<ProductoObtenido> listaProducto;
	private Consigna diparador;
	private List<ParametroOperacion> listaParametro;
	@Id
	@GeneratedValue
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public Calendar getFechaInicio() {
		return fechaInicio;
	}
	public void setFechaInicio(Calendar fechaInicio) {
		this.fechaInicio = fechaInicio;
	}
	public Calendar getFechaFin() {
		return fechaFin;
	}
	public void setFechaFin(Calendar fechaFin) {
		this.fechaFin = fechaFin;
	}
	@OneToMany(mappedBy="operacion", cascade=CascadeType.ALL)
	public List<InsumoUtilizado> getListaInsumo() {
		return listaInsumo;
	}
	public void setListaInsumo(List<InsumoUtilizado> listaInsumo) {
		this.listaInsumo = listaInsumo;
	}
	@OneToMany(mappedBy="operacion", cascade= CascadeType.ALL)
	public List<ProductoObtenido> getListaProducto() {
		return listaProducto;
	}
	public void setListaProducto(List<ProductoObtenido> listaProducto) {
		this.listaProducto = listaProducto;
	}
	@OneToOne(mappedBy="operacion", cascade=CascadeType.ALL)
	public Consigna getDiparador() {
		return diparador;
	}
	public void setDiparador(Consigna diparador) {
		this.diparador = diparador;
	}
	@OneToMany(mappedBy="operacion", cascade=CascadeType.ALL)
	public List<ParametroOperacion> getListaParametro() {
		return listaParametro;
	}
	public void setListaParametro(List<ParametroOperacion> listaParametro) {
		this.listaParametro = listaParametro;
	}

}
